1. The Field of the Invention
The present invention relates to messaging infrastructures. More particularly, the present invention relates to methods, systems, and computer program products that abstract processing layers within a messaging infrastructure so that changes or enhancements can be made while reusing existing functionality.
2. Background and Related Art
With the rising connectivity among computers that many of today's powerful networks provide, distributed processing has become increasingly attractive for a wider range of applications. However, most modern infrastructures for developing distributed applications offer little flexibility in terms of selecting from among available and emerging communication technology. For example, programming models, message exchange semantics, and message transports tend to be tightly coupled. As a result, selection of any one, often dictates the others.
FIG. 1A illustrates a prior art example of a tightly coupled messaging infrastructure 100A based on the Distributed Component Object Model (DCOM). DCOM is an extension of the Component Object Model (COM) that allows components to communicate both within a network and across network boundaries-COM was limited to interprocess communication within a single machine. A developer desiring to use DCOM accepts the DCOM programming model 130A, Remote Procedures Call (RPC) message exchange semantics 120A, and the corresponding RPC network connectoids 110A, as a bundle.
FIG. 1B illustrates another prior art example of a tightly coupled messaging infrastructure 100B. Similar to the DCOM infrastructure shown in FIG. 1A, this other messaging infrastructure 100B includes other programming model 130B, other message exchange semantics 120B, and other network connectoids 110B. Note that the interlocking portions 121B of other programming model 130B, other message exchange semantics 120B, and other network connectoids 110B differ from the interlocking portions 121A of DCOM programming model 130A, RPC message exchange semantics 120A, and RPC network connectoids 110A. The differences between interlocking portions 121A and 121B illustrate the prior art's lack of flexibility in choosing from the variety of existing and emerging options for developing distributed applications. Having selected DCOM or some other technology and its corresponding infrastructure, it becomes a relatively difficult task to use features from other technologies, without sacrificing the effort expended in developing existing applications. Often, such technology changes or enhancements require starting over, essentially from scratch.
Accordingly, decoupled programming models, message exchange semantics, and message transports represent an advancement in the art. Developers are able to pick from features at one level within the infrastructure without having to worry about unrelated issues at another level. Furthermore, developers can move from one programming model to another without having to learn a new infrastructure. Decoupling the layers leads to greater reusability and encourages innovation because changes and enhancements in a decoupled infrastructure allow for existing development efforts to be retained.